BigQuery ML
ができる。
モデルの作成
L1正則化と合わせて、変数選択とかができる?
timestamp型は、
day of month, day of week, month of year, hour of day, minute of hour week of year, yearで特徴量作ってくれる
bq の sql 上で、unix timeを timestamp型に、timestamp_seconds(int t) timestamp_mills(int 100t)
評価指標などもテーブルが作られる
holdout で、train, testに分けられて評価。
モデルが保存されるのは、メリットかも。試行錯誤して放置されて、、あとで探すとかあるので。
ただ、モデル作成時の from ... のデータソース?の部分が、BQのUI上で見つからない??? ないのか?
ロジスティック回帰をセッションごとにかけて、その後に任意のグルーピングをして、そのグループでの購入数を予測
バスケットの3ポイントの試行数?を求めるのはよくわからなかった。
モデルの評価
下の画像
特徴量をみる
struct(true as standarize)で、
all features have a mean of zero and a standard deviation of one.
トレーニング後のモデル段階での、standarize..よくわからない。
結果として、最初にデータを標準化した場合と同じとおもってよさそう。
メリっト
ただ、BQでやることで、いろんな線形子の組み合わせや、L1などでの変数選択など、モデルをたくさんつくって保存できるのが利点なのかもしれない。
ここにも説明がある。
BigQuery ML is based on the standard (batch) variant of gradient descent rather than the stochastic version.
In the future, we plan to further integrate our gradient descent implementation with BigQuery infrastructure to realize more performance gains.
上記の記述は気になった。着実に進化していくだろうか..
Hivemailとかで、データウエアハウス上で直接、学習器を作成して、評価というのはあるようなので(よく知らない)ニーズはありそうだけど、データ分析は事例がなかなか表に出てこないので、世間にニーズがよくわからない。Google は利用ログとかみれば、わかるのかもだけど。
トレーニングの loss(train/test)、学習率も 評価ステージで、ロジスティクス回帰の threasholdを変えて、評価指標の動きをみる。
最終的には、evaluationの queryを投げるので、要らない???
https://gyazo.com/6cc036d2b68d05dad9c4a03ff8056661